#ifndef STACK_H
#define STACK_H

#include "bool.h"
#include "arista.h"

typedef struct sstack *stack;
typedef tarista salpha;

/* Constructor */
stack stack_create(const size_t max);

/* Apilar un elemento */
void stack_push(stack s, salpha e);

/* Devuelve el primero */
salpha stack_top(stack s);

/* Desapila un elemento */
void stack_pop(stack s);

/* Devuelve True si es vacía */
Bool stack_vacia(stack s);

/* Destructor */
stack stack_destroy(stack s);

#endif /* STACK_H */

